package com.dsg.entity.oil;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 入油数据汇总
 * </p>
 *
 * @author system
 * @since 2020-07-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("dsg_oil_data")
@ApiModel(value = "DsgOilData对象", description = "入油数据汇总")
public class DsgOilData implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId("OID")
    private String oid;

    @ApiModelProperty(value = "数据类型 1:现金咭 2:记账咭")
    @TableField("DATA_TYPE")
    private Integer dataType;

    @ApiModelProperty(value = "批次号")
    @TableField("BATCH_NO")
    private String batchNo;

    @ApiModelProperty(value = "油公司")
    @TableField("OIL_COM")
    private String oilCom;

    @ApiModelProperty(value = "户口")
    @TableField("ACCOUNT_NO")
    private String accountNo;

    @ApiModelProperty(value = "入油总升数")
    @TableField("TOTAL_RISE")
    private BigDecimal totalRise;

    @ApiModelProperty(value = "总金额")
    @TableField("TOTOL_AMOUNT")
    private BigDecimal totolAmount;

    @ApiModelProperty(value = "检测状态 0:未检测 1:已检测")
    @TableField("CHECK_STATUS")
    private Integer checkStatus;

    @ApiModelProperty(value = "处理状态 0:未处理 1:已处理")
    @TableField("HANDLE_STATUS")
    private Integer handleStatus;

    @ApiModelProperty(value = "上载数量")
    @TableField("UPLOAD_NUM")
    private BigDecimal uploadNum;

    @ApiModelProperty(value = "拒绝数量")
    @TableField("REFUSE_NUM")
    private BigDecimal refuseNum;

    @ApiModelProperty(value = "接受数量")
    @TableField("ACCEPT_NUM")
    private BigDecimal acceptNum;

    @ApiModelProperty(value = "成功数量")
    @TableField("SUCCESS_NUM")
    private BigDecimal successNum;

    @ApiModelProperty(value = "失败数量")
    @TableField("FAIL_NUM")
    private BigDecimal failNum;

    @ApiModelProperty(value = "存疑A数量")
    @TableField("DOUBT_A_NUM")
    private BigDecimal doubtANum;

    @ApiModelProperty(value = "存疑B数量")
    @TableField("DOUBT_B_NUM")
    private BigDecimal doubtBNum;

    @ApiModelProperty(value = "存疑C数量")
    @TableField("DOUBT_C_NUM")
    private BigDecimal doubtCNum;

    /**
     * 企業編號
     */
    @TableField(value = "ENT_CODE")
    @ApiModelProperty(value = "企業編號", name = "entCode")
    private String entCode;

    /**
     * 创建人
     */
    @TableField(value = "CREATER")
    @ApiModelProperty(value = "创建人", name = "creater")
    private String creater;

    /**
     * 创建时间
     */
    @TableField(value = "CREATE_TIME")
    @ApiModelProperty(value = "创建时间", name = "createTime")
    private Date createTime;

    /**
     * 更新人
     */
    @TableField(value = "UPDATER")
    @ApiModelProperty(value = "更新人", name = "updater")
    private String updater;

    /**
     * 更新时间
     */
    @TableField(value = "UPDATE_TIME")
    @ApiModelProperty(value = "更新时间", name = "updateTime")
    private Date updateTime;

    /************************查詢條件**********************/
    @ApiModelProperty(value = "上載開始時間")
    @TableField(exist = false)
    private String createTimeStart;

    @ApiModelProperty(value = "上載結束時間")
    @TableField(exist = false)
    private String createTimeEnd;

    /************************枚舉**********************/
    public enum AppStatus {
        not(0), yes(1);
        Integer code;

        AppStatus(int code) {
            this.code = code;
        }

        public Integer getCode() {
            return code;
        }
    }
}
